//
// Created by 林 科俊 on 2022/5/3.
//


#include <errno.h>
#include <lmod.h>


static int hello(lua_State *L) {
    printf("hello world\n");
    return 0;
}

static const luaL_Reg hellolib[] = {
        {"hello", hello},
        {NULL,NULL}
};

int luaopen_hello(lua_State *L) {
    luaL_newlib (L,hellolib);
    return 1;
}

void bind_mod(lua_State *L) {
    luaL_requiref(L, "mod", luaopen_hello, 1);
    lua_pop(L, 1);
}

//static int foreach (lua_State *L) {
//    luaL_checktype(L, 1, LUA_TTABLE);
//    luaL_checktype(L, 2, LUA_TFUNCTION);
//    lua_pushnil(L);  /* first key */
//    while (lua_next(L, 1)) {
//        lua_pushvalue(L, 2);  /* function */
//        lua_pushvalue(L, -3);  /* key */
//        lua_pushvalue(L, -3);  /* value */
//        lua_call(L, 2, 1);
//        if (!lua_isnil(L, -1))
//            return 1;
//        lua_pop(L, 2);  /* remove value and result */
//    }
//    return 0;
//}
